const { PrismaClient } = require('@prisma/client');

const prisma = new PrismaClient();

// 在这里定义您的自定义商品数据
const customProducts = [
  // 示例：请根据您的实际商品信息修改
  // {
  //   id: 1,
  //   name: "您的商品名称1",
  //   price: 您的价格1,
  //   description: "商品描述"
  // },
  // {
  //   id: 2,
  //   name: "您的商品名称2", 
  //   price: 您的价格2,
  //   description: "商品描述"
  // },
  // 添加更多商品...
];

async function restoreCustomProducts() {
  try {
    console.log('开始恢复自定义商品数据...');
    
    if (customProducts.length === 0) {
      console.log('请先在脚本中定义您的商品数据');
      return;
    }
    
    let updatedCount = 0;
    
    for (const product of customProducts) {
      const { id, name, price, description } = product;
      
      // 检查商品是否存在
      const existingProduct = await prisma.product.findUnique({
        where: { id: id }
      });
      
      if (existingProduct) {
        // 更新商品
        await prisma.product.update({
          where: { id: id },
          data: {
            name: name,
            price: price,
            description: description || existingProduct.description
          }
        });
        console.log(`已更新商品 ID ${id}: ${name} - ¥${price}`);
        updatedCount++;
      } else {
        console.log(`商品 ID ${id} 不存在，跳过`);
      }
    }
    
    console.log(`恢复完成！共更新了 ${updatedCount} 个商品`);
    
  } catch (error) {
    console.error('恢复商品数据失败:', error);
  } finally {
    await prisma.$disconnect();
  }
}

// 如果直接运行此脚本
if (require.main === module) {
  restoreCustomProducts();
}

module.exports = { restoreCustomProducts };
